Conversation
5679cb7 to
ca5a8c2
Compare
|
New Ansible Roles
Infrastructure as Code
Core Script Updates (bin/burden)
Automation Playbook Updates (bin/ten_of_us.yml)
Authentication & Validation
Configuration Templates
Documentation
Key Capabilities
Files Added (38 new files)
Files Modified (14 existing files)
|
dvalinrh
left a comment
There was a problem hiding this comment.
Good first pass. Various items (expected, large amount of changes).
- Move API key check from ansible role to burden - Exit if no SSH key found in IBM Cloud - Use wait_for_ssh role instead of inline wait - Extract user readiness check into reusable wait_for_user_ready role - Revert config file changes (removed re-added pkg lines) - Fix user_parent_home_dir: move after set_user_name to handle root user - Change delete_volume_on_instance_delete to true in disks.tf - Remove wrong CPU type check from ibm_vpc_create - Remove all pbench references - Remove hardcoded IBM VPC profiles vars file - Use in list syntax in ten_of_us.yml - Simplify README API key documentation
| retries: "{{ ansible_ssh_retries | default(5) }}" | ||
| delay: "{{ item.0 * 2 + 3 }}" | ||
| with_indexed_items: | ||
| - "{{ ip_list }}" |
There was a problem hiding this comment.
If the user account never becomes ready we need to exit out. Note, make sure every place you are exiting out, will terminate the system if required.
There was a problem hiding this comment.
Added block/rescue to wait_for_user_ready so when retries are exhausted it calls terminate_on_error to destroy the cloud instance before aborting. Also updated the public IP check in
ibm_create to use terminate_on_error instead of a bare fail, since infrastructure already exists at that point
bin/burden
Outdated
| { | ||
| # Validate IBM Cloud API key is set - Terraform requires it | ||
| if [[ -z "$IC_API_KEY" ]] && [[ -z "$IBMCLOUD_API_KEY" ]]; then | ||
| cleanup_and_exit "Error: IBM Cloud API key not set. Export IC_API_KEY or IBMCLOUD_API_KEY" 1 |
There was a problem hiding this comment.
This info should be provided by the scenario file (think CPT pipeline). You may have it as an exported variable from the shell or via the scenario file. If from the scenario file, we can always issue an export if that is what the IBM cloud requires, else dump it into the ansible file and use it from there.
There was a problem hiding this comment.
Added --ibm_api_key as a CLI/scenario file option that gets exported as IC_API_KEY for Terraform, while still supporting the existing environment variable approach.
dvalinrh
left a comment
There was a problem hiding this comment.
If the user account never becomes ready we need to exit out. Note, make sure every place you are exiting out, will terminate the system if required.
PullHero ReviewProvider: generativelanguage.googleapis.com Model: gemini-2.0-flash Okay, I've reviewed the changes and here's my assessment. OverviewThis PR introduces support for IBM Cloud in the Zathras test automation framework. This includes a new Ansible role ( AnalysisGeneral Design and Architecture
Code Quality and Maintainability
Potential Issues and Concerns
Documentation Completeness
Specific Feedback
Vote: 0 |
Description
This PR adds automated IBM Cloud VSI provisioning with Terraform, including VPC networking, security, floating IPs, and new Ansible roles with burden script integration.
Key capabilities added:
Before/After Comparison
IBM Cloud Not Supported, No Parallel Multi-Instance Support, Manual Resource Management:
Documentation Check
Clerical Stuff
This closes #310
Relates to JIRA: RPOPC-677